iT邦幫忙

第 11 屆 iThome 鐵人賽

2
Software Development

Line Bot 心得分享 LineMessagingApi + LUIS + BotFramework系列 第 21

[Day21] 如何在 LINE Bot 使用藍芽偵測用戶位置 - LINE Beacon

  • 分享至 

  • xImage
  •  

今天要介紹的是 LINE Beacon,這是 LINE 推出的藍芽設備,可以讓 LINE Bot 接收該設備附近的用戶資訊,最成功的案例應該是台北捷運,在捷運月台附近設置了一些 LINE Beacon,當你靠近時會透過 Line Bot 將捷運轉乘公車資訊傳到你的 LINE 上。


LINE Beacon 運作方式

LINE Beacon 一定要搭配 Line Bot 才可以運作。

1. 當你靠近時 LINE Beacon 會發送藍芽訊號到你的手機上。

2. 手機將藍芽訊號傳給 LINE APP。

3. LINE APP 將 Beacon 硬體 ID 和用戶資訊傳給 LINE Server。

4. LINE Server 透過 Webhook 將訊息傳到 Line Bot 上。

5. Line Bot 根據用戶狀態 (Enter or Stay) 做出回應。

https://ithelp.ithome.com.tw/upload/images/20200130/20106865sMbjLsU8qW.jpg


LINE Beacon 服務註冊

1. 首先進入 LINE Beacon 註冊頁面。

https://manager.line.biz/beacon/register

2. 新增 LINE Beacon 服務,小弟沒有設備就不實作了。

有 LINE Beacon 設備選擇上面的按鈕。

沒有的話選擇發行硬體 ID,可以使用電腦或樹梅派等設備模擬。

https://ithelp.ithome.com.tw/upload/images/20200201/20106865uulHKhOmWL.jpg


程式部分

Line Bot SDK 可以使用 LineMessagingApi

不過作者太久沒更新了,現在 BeaconType 沒有 Stay 狀態可以用。  ̄□ ̄|||

protected override async Task OnBeaconAsync(BeaconEvent ev)
{
    //有人接近了 Beacon
    if (ev.Beacon.Type == BeaconType.Enter)
    {
        //硬體ID
        var hwid = ev.Beacon.Hwid;
        //裝置發出的訊息
        var dm = ev.Beacon.Dm;
    }
}

詳細說明可以參考: #beacon-event


如何在 GitHub 新增 Pull request

沒推過 GitHub 來玩玩看,順便幫作者更新 BeaconType。

1. 首先將專案 Fork 到自己的帳號下

https://ithelp.ithome.com.tw/upload/images/20200130/20106865jlEWyYWx7q.jpg

2. 接著把自己這邊的專案 clone 下來

https://ithelp.ithome.com.tw/upload/images/20200130/20106865jPni1W768V.jpg

3. 修改程式

public enum BeaconType
{
    /// <summary>
    /// Entered beacon's reception range
    /// </summary>
    Enter,
    /// <summary>
    /// Left beacon's reception range
    /// </summary>
    Leave,
    /// <summary>
    /// Tapped beacon banner 
    /// </summary>
    Banner,
    /// <summary>
    /// A user is in the beacon's reception range.
    /// This event is sent repeatedly at a minimum of 10 seconds.
    /// </summary>
    Stay
}

4. Commit 程式

https://ithelp.ithome.com.tw/upload/images/20200130/20106865HkWROaDrzb.jpg

5. Push 一個新分支上去

https://ithelp.ithome.com.tw/upload/images/20200130/20106865wTnqLSyNs5.jpg

6. 在自己的專案下選擇 Compare & pull request

https://ithelp.ithome.com.tw/upload/images/20200130/20106865D2hthtvNBL.jpg

7. 填寫你要跟作者說的話,小弟英文不好所以就貼了一個連結 ╰( ̄▽ ̄)╭

https://ithelp.ithome.com.tw/upload/images/20200130/20106865e8Pi62TLwi.jpg

8. 回到原專案就可以看到新增的 Pull request

https://ithelp.ithome.com.tw/upload/images/20200130/20106865QK9ofgrdbM.jpg

接下來就等待審核,希望作者還有在維護,不然我們這些 C# 開發者要哭了。


結語

下一篇要介紹最近很紅的 LINE Pay,聽說大家都到五十嵐買飲料集點。 (´・ω・`)

今天就到這裡,感謝大家觀看。


上一篇
[Day20] 如何在 LINE Bot 開啟 LIFF 應用 - LINE Front-end Framework
下一篇
[Day22] 如何製作 LINE Bot 行動支付機器人 - LINE Pay
系列文
Line Bot 心得分享 LineMessagingApi + LUIS + BotFramework27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言